package com.sino.second.dao;

import java.util.List;

import com.sino.second.bean.TblZjpsfp;

public interface IZjpsfpDAO {
	/**
	 * 分配一个专家
	 * 
	 * @param zjpsfp
	 */
	public void saveZjpsfp(TblZjpsfp zjpsfp);

	/**
	 * 删除一个专家分配
	 * 
	 * @param zjpsfp
	 */
	public void delZjpsfp(TblZjpsfp zjpsfp);

	/**
	 * 更新一个专家分配信息
	 * 
	 * @param zjpsfp
	 */
	public void updateZjpsfp(TblZjpsfp zjpsfp);

	/**
	 * 查询列出所有的专家分配信息
	 * 
	 * @return
	 */
	public List<TblZjpsfp> listAllZjpsfp(String hqlWhere);

	/**
	 * 根据xmpsmcId查询出特定组被分配的所有专家
	 * 
	 * @param xmpsmcId
	 * @return
	 */
	public List<TblZjpsfp> listZjpsfpByXmpsmcId(String xmpsmcId,String hqlWhere);
	
	/**
	 * 根据xmpsmcId查询出特定组被分配的专家数
	 * @param xmpsmcId
	 * @return
	 */
	public int listAssignExpertCountByXmpsmcId(String xmpsmcId,String hqlWhere);

	/**
	 * 根据xmpsmcId与zhuanyeId查询出特定组的特定专业被分配的所有专家
	 * 
	 * @param xmpsmcId
	 * @return
	 */
	public List<TblZjpsfp> listZjpsfpByXmpsmcId(String xmpsmcId,
			String zhuanyeId,String hqlWhere);
	/**
	 * 根据xmpsmcId与zhuanyeId查询出特定组的特定专业被分配的所有专家数
	 * 
	 * @param xmpsmcId
	 * @return
	 */
	public Integer findZjpsfpCountByXmpsmcId(String xmpsmcId,
			String zhuanyeId,String hqlWhere);
	
	/**
	 * 判断某个专家是否属于某个评审组
	 * @param xmpsmcId
	 * @param expertId
	 * @param hqlWhere
	 * @return
	 */
	public boolean isXmpsmcExpert(String xmpsmcId,Integer expertId,String hqlWhere);

}
